﻿#ifndef __lvgl_weather_h__
#define __lvgl_weather_h__


#include "main.h"
#include "lvgl_project.h"

#if 1
#define lvgl_weather_debug(format, ...) lvgl_project_debug("[lvgl weather]-",format,##__VA_ARGS__);
#else
#define lvgl_weather_debug(format, ...) ;
#endif

#define weather_ICON_MAX 8
#define weather_GIF_SW 0
#define weather_PNG_BG 1

#define weather_GIF_PATH "P:/E:/gsm-fm/gsm-fm-simulator/LVGL.Simulator/lvgl_project/image/icon/black bg/gif/"

typedef struct
{
    lv_obj_t* cont;
    lv_obj_t* image;
    lv_obj_t* label1;
    lv_obj_t* label2;

	lv_anim_t anim;
	lv_anim_path_t anim_path;

}__lvgl_weather_p_data;



typedef struct
{
	char p_buf[100];

	lv_obj_t *cont_main;
	lv_obj_t *task;
	lv_anim_t anim_in;
	lv_anim_t anim_out;
	lv_anim_path_t anim_path_in;
	lv_anim_path_t anim_path_out;


    lv_obj_t *cont_temperature;
	lv_anim_t anim_temperature;
	lv_anim_path_t anim_path_temperature;
	lv_obj_t *label_temperature1;
	lv_obj_t *label_temperature2;
	lv_obj_t *label_temperature3;
	int temperature_y;


	lv_obj_t *label_city;
    lv_obj_t *image_location;

	lv_obj_t *cont_date;
	lv_anim_t anim_date;
	lv_anim_path_t anim_path_date;
	lv_obj_t *label_date;
    lv_obj_t *label_time;
	int date_y;


    __lvgl_weather_p_data lvgl_weather_p_data[3];


    lv_task_t* close_task;
    bool ctrl_close_flag;
    uint32_t close_count;
    uint8_t close_num;

	uint8_t refresh_Sta;
	bool refresh_flag;
	bool refresh_first_flag;


}__lvgl_weather_data;

extern __lvgl_weather_data lvgl_weather_data;




void lvgl_weather_create(lv_obj_t * Fu);
void lvgl_weather_close(void);
void lvgl_weather_hidden(void);
void lvgl_weather_shuaXin_kaishi(void);
void lvgl_weather_ShuaXin_jieshu(void);
void lvgl_weather_anim_out(void);
void lvgl_weather_anim_in(void);

void lvgl_weather_set_label_temperature1(int data);
void lvgl_weather_set_label_temperature3(char *data);
void lvgl_weather_set_label_city(char *data);
void lvgl_weather_set_p_image(int index,int num);
void lvgl_weather_set_p_label2(int index,int low,int high);
void lvgl_weather_set_date(char *data);
void lvgl_weather_set_time(char *data);

#endif
